<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>事件对象-2 (e.target)</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            color: #fff;
            font-size: 12px;
            text-align: center;
            line-height: 100px;
            background-color: brown;
        }
    </style>
</head>

<body>
    <div>这是一个盒子</div>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
    <script>
        // 事件对象的常见属性和方法
        // 1. e.target返回的是触发事件的对象（元素）  this 返回的是绑定事件对象（元素）
        var div = document.querySelector('div');
        div.addEventListener('click', function(e) {
            console.log(e.target);
            console.log(this);

        })


        var ul = document.querySelector('ul');
        ul.addEventListener('click', function(e) {
            // ul绑定了事件 this指向的就是ul
            console.log(this);

            // console.log(e.currentTarget);

            // e.target 指向点击的那个对象 谁触发这个事件就返回谁的元素
            console.log(e.target);
        })

        // * 区别
        // this是哪个元素绑定了事件 就指向绑定事件的那个元素 即返回指向的元素
        // e.target 点击哪个元素，就返回相应的元素
        // 了解就行 跟 this 相似的属性 currentTarget ie9以下不支持



        // 兼容性问题 (了解)
        // div.onclick = function(e) {
        //     e = e || window.event;
        //     var target = e.target || e.srcElement;
        //     console.log(target);
        // }
    </script>
</body>

</html>